1. Field of the Invention
This invention relates to signal sampling, and particularly to systems and methods for adaptive signal sampling and sample quantization for resource-constrained stream processing.
2. Description of Background
Several emerging applications including network traffic monitoring, financial data feeds, telemetry applications, medical data (e.g., ECGs), etc., contain streaming data arriving at high rates. Often, the system cannot either support the data rate or the computational complexity required for processing these streams. For example, a typical electrocardiogram-monitoring device generates massive volumes of digital data. Depending on the intended application for the data, the sampling rate ranges from 125 to 500 Hz. Each data sample is digitized to a 8 to 12 bit binary number. Even at the lowest sampling rate in the range and assuming just one sensor that generates 8-bit data, we would accumulate ECG data at a rate of 7.5 KB per minute or 450 KB per hour.
Traditional lossy techniques for stream adaptation to meet resource constraints involve reducing the rate of the original streams using either quantization, or stream sub-sampling (and sometimes both). Quantization involves mapping signal x[k] onto a coarser version x′[k] that requires fewer bits to represent. Hence, if the original signal requires bu bits per sample, quantization results in a signal with bq<bu bits per sample, thereby reducing the average data rate of the stream by a factor bu/bq. There are several optimal (in terms of specific metrics) scalar and vector quantization schemes that may be designed specific to the application and data characteristics.
Uniform subsampling involves discarding samples of the data (evenly) to reduce the data rate. Hence in order to reduce the data rate by a factor α (α>1) these schemes retain only one out of every α samples (spaced evenly), thereby resulting in stream x˜[αk]. Often some filtering (low-pass) is applied to the signal prior to subsampling to avoid aliasing and also to tune the subsampling to the requirements of the application.
Hence, there is need for algorithms and methods that can efficiently adapt the streams to match the underlying system resource (rate and complexity) constraints while minimizing the impact of this adaptation on any results that need to be derived from these streams. As such, streams that perform both quantization and uniform subsampling jointly to match the underlying system resource constraints are needed.